Embedding Weak Memory Models within Eager Sequentialization
نویسندگان
چکیده
Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent programs. However, existing sequentializations assume sequential consistency, which modern hardware architectures no longer guarantee. In this paper we describe an approach to embed weak memory models within eager sequentializations (a la Lal/Reps). Our approach is based on the separation of intra-thread computations from inter-thread communications by means of a shared memory abstraction (SMA). We give details of SMA implementations for the SC, TSO, and PSO memory models that are based on the idea of individual memory unwindings, and sketch an extension to the Power memory model. We use our approach to implement a new, efficient BMC-based bug finding tool for multi-threaded C programs under SC, TSO, or PSO based on these SMAs, and show experimentally that it is competitive to existing tools.
منابع مشابه
Using Shared Memory Abstractions to Design Eager Sequentializations for Weak Memory Models
Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent programs. However, existing sequentializations assume sequential consistency, which modern hardware architectures no longer guarantee. In this paper we describe an approach to embed weak memory models within eager sequentializations. Our approach is based on the separation of intrathread computatio...
متن کاملSemantics of Barriers in a Non - Strict ,
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper, we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers i...
متن کاملSequentialization and Procedural Complexity in Automata Networks
In this article we consider finite automata networks (ANs) with two kinds of update schedules: the parallel one (all automata are updated all together) and the sequential ones (the automata are updated periodically one at a time according to a total order w). The cost of sequentialization of a given AN h is the number of additional automata required to simulate h by a sequential AN with the sam...
متن کاملSemantics of Barriers in a Non-strict, Implicitly-parallel Language Semantics of Barriers in a Non-strict, Implicitly-parallel Language
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers in...
متن کاملMU-CSeq: Sequentialization of C Programs by Shared Memory Unwindings - (Competition Contribution)
We implement a new sequentialization algorithm for multi-threaded C programs with dynamic thread creation as a new CSeq module. The novel basic idea of this algorithm is to fix (by a nondeterministic guess) the sequence of write operations in the shared memory and then simulate the behavior of the program according to any scheduling that respects this choice. Simulation is done threadby-thread ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016